package com.tjec.project.projectWorkbench.service;

import com.tjec.project.projectWorkbench.domain.BmsMdEngineeringCategory;
import com.tjec.project.projectWorkbench.domain.BmsMdEngineeringKeywordIndicatorRef;
import com.tjec.project.projectWorkbench.domain.BmsMdPerformanceKeyword;
import com.tjec.project.projectWorkbench.domain.BmsMdProjectIndicator;

import java.util.List;
import java.util.Set;

/**
 * 工程类别、关键字、指标项关联关系 Service接口
 * 
 * @author cjj
 * @date 2020-05-14
 */
public interface IBmsMdEngineeringKeywordIndicatorRefService 
{
    /**
     * 查询工程类别、关键字、指标项关联关系 列表
     * 
     * @param bmsMdEngineeringKeywordIndicatorRef 工程类别、关键字、指标项关联关系 
     * @return 工程类别、关键字、指标项关联关系 集合
     */
    public List<BmsMdEngineeringKeywordIndicatorRef> selectBmsMdEngineeringKeywordIndicatorRefList(BmsMdEngineeringKeywordIndicatorRef bmsMdEngineeringKeywordIndicatorRef);

    /**
     * 查询工程类别 列表
     *
     * @param bmsMdEngineeringCategory 工程类别
     * @return 工程类别 集合
     */
    public List<BmsMdEngineeringCategory> selectBmsMdEngineeringCategoryList(BmsMdEngineeringCategory bmsMdEngineeringCategory);

    /**
     * 查询业务推荐关键字 列表
     *
     * @param bmsMdPerformanceKeyword 业务推荐关键字
     * @return 业务推荐关键字 集合
     */
    public List<BmsMdPerformanceKeyword> selectBmsMdPerformanceKeywordList(BmsMdPerformanceKeyword bmsMdPerformanceKeyword);

    /**
     * 查询项目指标 列表
     *
     * @param bmsMdProjectIndicator 项目指标
     * @return 项目指标集合
     */
    public List<BmsMdProjectIndicator> selectBmsMdProjectIndicatorList(BmsMdProjectIndicator bmsMdProjectIndicator);

    /**
     * 查询项目指标 列表
     *
     * @param engineeringIds 项目指标
     * @return 项目指标集合
     */
    public List<BmsMdEngineeringKeywordIndicatorRef> selectBmsMdEngineeringKeywordIndicatorRefListByEngineeringIds(Set<String> engineeringIds);

    /**
     * 查询项目指标 列表
     *
     * @param performanceKeywordIds 项目指标
     * @return 项目指标集合
     */
    public List<BmsMdEngineeringKeywordIndicatorRef> selectBmsMdEngineeringKeywordIndicatorRefListByPerformanceKeywordIds(Set<String> performanceKeywordIds);
    
    public List<BmsMdEngineeringKeywordIndicatorRef> selectDefaultIndicatorRefList();
}
